-- Draft Cisco-Specific IP Multicast MIB July 1994CISCO-IPMCAST-MIB DEFINITIONS::=BEGINIMPORTSenterprises FROM RFC1155-SMI
MODULE-IDENTITY,OBJECT-TYPE,Integer32,Counter32,IpAddressFROM SNMPv2-SMI
RowStatus,TruthValueFROM SNMPv2-TC
OwnerStringFROM RFC1271-MIB
MODULE-COMPLIANCE,OBJECT-GROUPFROM SNMPv2-CONF
igmpInterfaceEntry FROM IGMP-MIB;ciscoMcastMIB MODULE-IDENTITYLAST-UPDATED"9407301359Z"ORGANIZATION"Cisco System Inc."CONTACT-INFO" Cisco System Inc."DESCRIPTION"The MIB module for Cisco-specific management of IP
Multicast in Cisco devices."--PSIM ::= { enterprises 9 10 4 }::={ enterprises cisco(9) ciscoExperiment(10)4}
-- cisco OBJECT IDENTIFIER ::= { enterprises 9 }-- ciscoExperiment OBJECT IDENTIFIER ::= { cisco 10 }ciscoMcastMIBObjects OBJECTIDENTIFIER::={ ciscoMcastMIB 1}mcastAccess OBJECTIDENTIFIER::={ ciscoMcastMIBObjects 1}mcastTrace OBJECTIDENTIFIER::={ ciscoMcastMIBObjects 2}mcastFilter OBJECTIDENTIFIER::={ ciscoMcastMIBObjects 3}
---- The Multicast Access-list Group------ The PIM Rendezvous-Point Access-list Table--pimRpAccessListTable OBJECT-TYPESYNTAXSEQUENCEOF PimRpAccessListEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"The (conceptual) table containing the access-lists of IP
Multicast groups configured for specific Rendezvous-
Points. An RP for which there is no entry in this table
is configured for all groups."::={ mcastAccess 1}
pimRpAccessListEntry OBJECT-TYPESYNTAX PimRpAccessListEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"An entry (conceptual row) in the pimRpAccessListTable."INDEX{ pimRpAccessListRP }::={ pimRpAccessListTable 1}
PimRpAccessListEntry ::=SEQUENCE{
pimRpAccessListRP IpAddress,
pimRpAccessListNumber INTEGER,
pimRpAccessListStatus RowStatus}pimRpAccessListRP OBJECT-TYPE
SYNTAXIpAddressMAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"The address of the Rendezvous Point for which this entry
contains access-list information."::={ pimRpAccessListEntry 1}pimRpAccessListNumber OBJECT-TYPESYNTAXINTEGER(0..100)MAX-ACCESSread-createSTATUScurrentDESCRIPTION"The number of the access-list which specifies the range
of group addresses which have this Rendezvous Point. A
value of zero is equivalent to no access-list."::={ pimRpAccessListEntry 2}pimRpAccessListStatus OBJECT-TYPESYNTAXRowStatusMAX-ACCESSread-createSTATUScurrentDESCRIPTION"The status of this row."::={ pimRpAccessListEntry 3}-- The IGMP Access-list Table--igmpAccessListTable OBJECT-TYPESYNTAXSEQUENCEOF IgmpAccessListEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"The (conceptual) table containing the configured access-
lists of IP Multicast groups for which join requests
received from hosts (i.e., directly attached group
members) via specific interfaces are allowed. If no
access-list is defined for an interface, any group can be
joined via that interace."::={ mcastAccess 2}igmpAccessListEntry OBJECT-TYPESYNTAX IgmpAccessListEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"An entry (conceptual row) in the igmpAccessListTable."
AUGMENTS{ igmpInterfaceEntry }::={ igmpAccessListTable 1}
IgmpAccessListEntry ::=SEQUENCE{
igmpAccessListNumber INTEGER}igmpAccessListNumber OBJECT-TYPESYNTAXINTEGER(0..100)MAX-ACCESSread-writeSTATUScurrentDESCRIPTION"The number of the access-list which specifies the IP
multicast groups for which joins are allowed on this
interface. A value of zero is equivalent to no access-
list."::={ igmpAccessListEntry 1}---- The Multicast Tracing MIB-Group--mcastTraceRequest OBJECTIDENTIFIER::={ mcastTrace 1}mcastTraceResponse OBJECTIDENTIFIER::={ mcastTrace 2}---- The router provides the following a CLI command:---- mrbranch <group> <branch-address>-- Traces a branch of a multicast tree for group <group> in the-- reverse direction from the router with the <branch-address>
-- up the tree to the source of the mrbranch request. Both the-- request and response are unicast addressed. The number of-- packets generated is 2 times the number of routers between-- the source and <branch-address>.---- The following objects provide for mrbranch to be invoked via SNMP-- (by multiple managers, but only one at a time) using the following-- procedure:---- 1. wait for mrbranchState == inactive,-- 2. issue a SetRequest with-- mrbranchGroup = group address-- mrbranchBranch = branch address-- mrbranchRequestor = unique id for this request-- mrbranchState = active
-- (optionally include mrbranchTimeout and mrbranchRequestor)-- if successful, mrbranch has been started-- else if error-index == mrbranchState-- then some other NMS got in first-- else check for other errors-- 3. retrieve results by periodically polling for mrbranchState,-- 4. when mrbranchState == inactive, retrieve all entries in the-- mrbranchResponseTable to obtain the results, ensuring that-- mrbranchRequestor remains unchanged,-- 5. it is advisable to issue mrbranch multiple times to get best-- results--mrbranchState OBJECT-TYPESYNTAXINTEGER{ inactive(1), active(2)}
MAX-ACCESSread-writeSTATUScurrentDESCRIPTION"The state of the SNMP-invoked mrbranch facility. Only
one such mrbranch may be in progress at a time. When this
object has the value 'inactive', setting it to 'active'
causes an mrbranch to be invoked using the values of
mrbranchGroup, mrbranchBranch and mrbranchTimeout which
were set either concurrently or most recently. The value
stays 'active' until the mrbranch completes/times-out at
which time it becomes 'inactive'. Setting this value to
'active' when it is already 'active' it is an error.
Setting it to 'inactive' either cancels the active
mrbranch or is a no-op."::={ mcastTraceRequest 1}
mrbranchGroup OBJECT-TYPESYNTAXIpAddressMAX-ACCESSread-writeSTATUScurrentDESCRIPTION"The IP multicast group address to be used by the next
SNMP-invoked mrbranch command."::={ mcastTraceRequest 2}mrbranchBranch OBJECT-TYPESYNTAXIpAddressMAX-ACCESSread-writeSTATUScurrentDESCRIPTION"The branch address, i.e., the IP unicast address of the
responding router, to be used by the next SNMP-invoked
mrbranch command."::={ mcastTraceRequest 3}mrbranchTimeout OBJECT-TYPESYNTAXInteger32UNITS"seconds"MAX-ACCESSread-writeSTATUScurrentDESCRIPTION"The maximum number of seconds to be taken by the next
SNMP-invoked mrbranch command."::={ mcastTraceRequest 4}mrbranchRequestor OBJECT-TYPESYNTAXOwnerStringUNITS"seconds"
MAX-ACCESSread-writeSTATUScurrentDESCRIPTION"An indication of the identity of invoker the
last/current/next SNMP-invoked mrbranch command."::={ mcastTraceRequest 5}---- The Mrbranch Response Table--mrbranchResponseTable OBJECT-TYPESYNTAXSEQUENCEOF MrbranchResponseEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"The table containing mrbranch responses. Additional
information from mrbranch responses is contained in the
mrbranchInterfaceListTable."::={ mcastTraceResponse 1}mrbranchResponseEntry OBJECT-TYPESYNTAX MrbranchResponseEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"An entry in the mrbranchResponseTable, representing one
mrbranch response."INDEX{ mrbranchResponseResponder }::={ mrbranchResponseTable 1}
MrbranchResponseEntry ::=SEQUENCE{
mrbranchResponseResponder IpAddress,
mrbranchResponseRtt Integer32,
mrbranchResponseRPF IpAddress}mrbranchResponseResponder OBJECT-TYPESYNTAXIpAddressMAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"The IP address of the responder to the mrbranch request
for which this entry contains information."::={ mrbranchResponseEntry 1}mrbranchResponseRtt OBJECT-TYPESYNTAXInteger32MAX-ACCESSread-onlySTATUScurrent
DESCRIPTION"The time taken for the request to be sent and the
response to come back for this responder to the mrbranch
request."::={ mrbranchResponseEntry 2}mrbranchResponseRPF OBJECT-TYPESYNTAXIpAddressMAX-ACCESSread-onlySTATUScurrentDESCRIPTION"The IP address of the RPF neighbor of the responder to
the mrbranch request."::={ mrbranchResponseEntry 3}---- The Mrbranch Response Interface List Table
--mrbranchInterfaceListTable OBJECT-TYPESYNTAXSEQUENCEOF MrbranchInterfaceListEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"The table containing information on outgoing interfaces
as reported in a response to a mrbranch. Each entry is
one of a list of outgoing interface from a particular
responder."::={ mcastTraceResponse 2}mrbranchInterfaceListEntry OBJECT-TYPESYNTAX MrbranchInterfaceListEntry
MAX-ACCESSnot-accessibleSTATUScurrent
DESCRIPTION"An entry in the mrbranchInterfaceListTable containing a
particular outgoing interface listed in the response to a
mrbranch received from the responder indicated by
mrbranchResponseResponder."INDEX{ mrbranchResponseResponder,
mrbranchInterfaceListAddress }::={ mrbranchInterfaceListTable 1}
MrbranchInterfaceListEntry ::=SEQUENCE{
mrbranchInterfaceListAddress IpAddress,
mrbranchInterfaceListNetMask IpAddress}mrbranchInterfaceListAddress OBJECT-TYPESYNTAXIpAddress
MAX-ACCESSread-onlySTATUScurrentDESCRIPTION"The IP address of the outgoing interface."::={ mrbranchInterfaceListEntry 1}mrbranchInterfaceListNetMask OBJECT-TYPESYNTAXIpAddressMAX-ACCESSread-onlySTATUScurrentDESCRIPTION"The network mask of the IP address of the outgoing
interface."::={ mrbranchInterfaceListEntry 2}---- The IGMP Conditional Filtering MIB-Group
--igmpConditionalFilteringEnable OBJECT-TYPESYNTAXTruthValueMAX-ACCESSread-writeSTATUScurrentDESCRIPTION"An indication of whether IGMP Conditional Filtering is
enabled."::={ mcastFilter 1}igmpMemberReportTimeout OBJECT-TYPESYNTAXInteger32UNITS"seconds"MAX-ACCESSread-writeSTATUScurrentDESCRIPTION
"The number of seconds for which the receipt of the most
recent IGMP Membership Report for a particular IP
multicast group on a particular interface indicates that
there is currently a member of that group on that
interface."::={ mcastFilter 2}---- The IGMP Conditional Filtering Interface Table--igmpCondFilterIfTable OBJECT-TYPESYNTAXSEQUENCEOF IgmpCondFilterIfEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"The table containing information on interfaces for use
with IGMP Conditional Filtering."
::={ mcastFilter 3}igmpCondFilterIfEntry OBJECT-TYPESYNTAX IgmpCondFilterIfEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"An entry in the igmpCondFilterIfTable containing
information on a particular interface."INDEX{ igmpCondFilterIfIndex }::={ igmpCondFilterIfTable 1}
IgmpCondFilterIfEntry ::=SEQUENCE{
igmpCondFilterIfIndex Integer32,
igmpCondFilterIfStatus INTEGER,
igmpCondFilterIfRouter TruthValue}igmpCondFilterIfIndex OBJECT-TYPESYNTAXInteger32MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"The ifIndex value of the interface."::={ igmpCondFilterIfEntry 1}igmpCondFilterIfStatus OBJECT-TYPESYNTAXINTEGER{ routerPresent(1),noRouter(2),
dynamic(3)}MAX-ACCESSread-writeSTATUScurrentDESCRIPTION"An indication of whether the presense of an IP multicast
router on this interface is to be determined statically or
dynamically. The values routerPresent(1) and noRouter(2)
indicate that the presence of a router is statically
determined to be present or not-present, respectively.
The value dynamic(3) indicates the presence is to be
determined dynamically."::={ igmpCondFilterIfEntry 2}igmpCondFilterIfRouter OBJECT-TYPESYNTAXTruthValue
MAX-ACCESSread-onlySTATUScurrentDESCRIPTION"An indication of whether an IP multicast router is
present on this interface."::={ igmpCondFilterIfEntry 3}---- The IGMP Conditional Filtering Multicast-Group Table--igmpCondFilterMcastTable OBJECT-TYPESYNTAXSEQUENCEOF IgmpCondFilterMcastEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"The table containing information on IP multicast groups
for use with IGMP Conditional Filtering."::={ mcastFilter 4}igmpCondFilterMcastEntry OBJECT-TYPESYNTAX IgmpCondFilterMcastEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"An entry in the igmpCondFilterMcastTable containing
information on a particular IP multicast group on a
particular interface. An entry is created by the agent
when it receives on the interface either an IP multicast
datagram destined to the multicast group, or an IGMP
Membership Report for the group. An entry can also be
created by network management to indicate that datagrams
for the multicast group are to be forwarded to the
interface irrespective of the receipt/non-receipt of IGMP
Membership Reports."INDEX{ igmpCondFilterMcastIfIndex,
igmpCondFilterMcastAddress }::={ igmpCondFilterMcastTable 1}
IgmpCondFilterMcastEntry ::=SEQUENCE{
igmpCondFilterMcastIfIndex Integer32,
igmpCondFilterMcastAddress IpAddress,
igmpCondFilterMcastMember TruthValue,
igmpCondFilterMcastInPkts Counter32,
igmpCondFilterMcastOutPkts Counter32,
igmpCondFilterMcastStatus RowStatus}
igmpCondFilterMcastIfIndex OBJECT-TYPESYNTAXInteger32MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"The ifIndex value of the interface."::={ igmpCondFilterMcastEntry 1}igmpCondFilterMcastAddress OBJECT-TYPESYNTAXIpAddressMAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"The IP multicast group."::={ igmpCondFilterMcastEntry 2}
igmpCondFilterMcastMember OBJECT-TYPESYNTAXTruthValueMAX-ACCESSread-createSTATUScurrentDESCRIPTION"An indication of whether there is currently a member of
the IP multicast group on this interface."::={ igmpCondFilterMcastEntry 3}igmpCondFilterMcastInPkts OBJECT-TYPESYNTAXCounter32MAX-ACCESSread-onlySTATUScurrentDESCRIPTION"The number of IP multicast datagrams destined for this
multicast address which have been received on this
interface."::={ igmpCondFilterMcastEntry 4}igmpCondFilterMcastOutPkts OBJECT-TYPESYNTAXCounter32MAX-ACCESSread-onlySTATUScurrentDESCRIPTION"The number of IP multicast datagrams destined for this
multicast address which have been forwarded to this
interface."::={ igmpCondFilterMcastEntry 5}igmpCondFilterMcastStatus OBJECT-TYPESYNTAXRowStatusMAX-ACCESSread-create
STATUScurrentDESCRIPTION"The status of this row. If a row is created for a IP
multicast group on a particular interface with the
instance of igmpCondFilterMcastMember set to true(1), then
datagrams destined to the multicast group are to be
forwarded to the interface independent of whether IGMP
Membership Reports are received."::={ igmpCondFilterMcastEntry 6}-- conformance informationciscoMcastMIBConformance
OBJECTIDENTIFIER::={ ciscoMcastMIB 2}ciscoMcastMIBCompliances
OBJECTIDENTIFIER::={ ciscoMcastMIBConformance 1}
ciscoMcastMIBGroups
OBJECTIDENTIFIER::={ ciscoMcastMIBConformance 2}-- compliance statementsciscoMcastMIBCompliance MODULE-COMPLIANCESTATUScurrentDESCRIPTION"The compliance statement for routers implementing the
Cisco-specific IP Multicast MIB."MODULE-- this moduleMANDATORY-GROUPS{ ciscoMcastAccessMIBGroup,
ciscoMrbranchMIBGroup
}
OBJECT pimRpAccessListNumber
MIN-ACCESSread-onlyDESCRIPTION"Write access is not required."OBJECT pimRpAccessListStatus
MIN-ACCESSread-onlyDESCRIPTION"Create and write access is not required."OBJECT igmpAccessListNumber
MIN-ACCESSread-onlyDESCRIPTION"Write access is not required."::={ ciscoMcastMIBCompliances 1}ciscoMcastCondFilterMIBCompliance MODULE-COMPLIANCESTATUScurrent
DESCRIPTION"The compliance statement for bridges/switches which
implement Conditional IGMP Filtering."MODULE-- this moduleMANDATORY-GROUPS{ ciscoMcastFilterMIBGroup }::={ ciscoMcastMIBCompliances 2}-- units of conformanceciscoMcastAccessMIBGroup OBJECT-GROUPOBJECTS{ pimRpAccessListNumber, pimRpAccessListStatus,
igmpAccessListNumber
}STATUScurrentDESCRIPTION"A collection of objects providing management of Access-
Lists for IP Multicast in Cisco routers."::={ ciscoMcastMIBGroups 1}ciscoMrbranchMIBGroup OBJECT-GROUPOBJECTS{ mrbranchState, mrbranchGroup, mrbranchBranch,
mrbranchTimeout, mrbranchRequestor,
mrbranchResponseRtt, mrbranchResponseRPF,
mrbranchInterfaceListNetMask
}STATUScurrentDESCRIPTION"A collection of objects providing for the invocation of
mrbranch commands in Cisco routers."::={ ciscoMcastMIBGroups 2}
ciscoMcastFilterMIBGroup OBJECT-GROUPOBJECTS{ igmpConditionalFilteringEnable,
igmpMemberReportTimeout,
igmpCondFilterIfStatus,
igmpCondFilterIfRouter,
igmpCondFilterMcastMember,
igmpCondFilterMcastInPkts,
igmpCondFilterMcastOutPkts,
igmpCondFilterMcastStatus
}STATUScurrentDESCRIPTION"A collection of objects for management of
bridges/switches which implement IGMP Conditional
Filtering."::={ ciscoMcastMIBGroups 3}
END